package com.chuyu.cy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chuyu.cy.entity.domain.User;
import com.chuyu.cy.entity.dto.LoginDTO;
import com.chuyu.cy.entity.dto.RecommendDTO;
import com.chuyu.cy.entity.dto.UserDTO;
import com.chuyu.cy.entity.vo.LoginVO;
import com.chuyu.cy.entity.vo.UserVo;

/**
* @author 周小白
* @description 针对表【user(用户表)】的数据库操作Service
*/
public interface UserService extends IService<User> {


    /**
     * 添加用户
     * @param userDTO 用户信息
     * @return 添加结果
     */
    UserVo addUser(UserDTO userDTO);



    /**
     * 获取用户信息
     * @param id 用户id
     * @return 用户信息
     */
    UserVo getUserInfo(Integer id);



    /**
     * 更新用户信息
     * @param userDTO 用户信息
     * @return 更新结果
     */
    Boolean updateUserInfo(UserDTO userDTO);


    /**
     * 删除用户
     * @param id 用户id
     * @return 删除结果
     */
    Boolean deleteUser(Integer id);




    /**
     * 推荐用户
     * @param recommendDTO 推荐要求
     * @return 结果
     */
    UserVo recommend(RecommendDTO recommendDTO);



    /**
     * 登录
     * @param loginDTO 登录信息
     * @return 登录结果
     */
    LoginVO login(LoginDTO loginDTO);



    /**
     * 根据学号获取用户信息
     * @param stuId 学号
     * @return 用户信息
     */
    UserVo getUserInfoByStuId(String stuId);
}
